Digital content curation and distribution system and method

ABSTRACT

Disclosed herein are systems and method for curating and distributing digital content; including: digital video, music, pictures, etc. For example, presented herein are systems and methods for providing a digital content program, including a plurality of continuously provided digital assets streamed over a digital content platform. Example embodiments include: (a) curating a plurality of assets; (b) selecting a subset of assets from the plurality of assets, based on similarity metrics between assets; and (c) ordering the subset of assets into a digital content program.

CROSS-REFERENCE TO RELATED APPLICATIONS; PRIORITY CLAIM

This application claims benefit as a Continuation of application Ser.No. 15/385,845, filed Dec. 20, 2016, which claims benefit as aContinuation of application Ser. No. 14/160,495, filed Jan. 21, 2014,now U.S. Pat. No. 9,524,340 which claims benefit of a Continuation ofapplication Ser. No. 13/452,505, filed Apr. 20, 2012, now U.S. Pat. No.8,635,220, which claims benefit of Provisional Application No.61/478,354, filed Apr. 22, 2011, the entire contents of the foregoingare incorporated by reference as if fully set forth herein under 35U.S.C. § 120. The applicant hereby rescinds any disclaimer of claimscope in the parent application(s) or the prosecution history thereofand advises the USPTO that the claims in this application may be broaderthan any claim in the parent application(s).

BACKGROUND

The present invention is related to digital content distributionsystems. FIG. 1 is a high-level diagram illustrating a typical digitalcontent distribution system 100. In practice, a content provider 101stores a plurality of digital content assets in an asset library 102. Asused herein, the term “asset” broadly includes any machine-readableand/or machine-storable files containing digital content, or a pointer,placeholder, uniform resource locator (URL), or equivalent means forredirecting an end-user 105 to the digital content. Digital content mayinclude any digital video, music, pictures, or equivalents thereof. Theend-user 105 employs an end-user device 104 to access the assets via adistribution platform; such as a website, mobile application, TV widget,or equivalents thereof. The end-user 105 may use a search/index engine103 to query the asset library 102 for an asset of interest. Searchqueries are typically conducted based on tags, keywords, and/orassociated metadata linked to individual assets. Recommendation enginesare also known, which may recommend assets to the end-user 105, based onthe tags, keywords, and/or associated metadata.

However, content providers lack a mechanism for curating and programmingtheir asset libraries in order to distribute content in meaningful andengaging ways.

SUMMARY

Disclosed herein are systems and method for curating and distributingdigital content; including: digital video, music, pictures, etc. Forexample, presented herein are systems and methods for providing adigital content program (or playlist), including a plurality ofcontinuously provided digital assets streamed over a digital contentplatform. Example embodiments include: (a) curating a plurality ofassets; (b) selecting a subset of assets from the plurality of assets,based on similarity metrics between assets; and (c) ordering the subsetof assets into a digital content program.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings, which are incorporated herein, form part ofthe specification. Together with this written description, the drawingsfurther serve to explain the principles of, and to enable a personskilled in the relevant art(s), to make and use the claimed systems andmethods.

FIG. 1 is a high-level diagram illustrating a typical digital contentdistribution system.

FIG. 2 is a high-level diagram illustrating a digital contentdistribution system in accordance with one embodiment of the presentinvention.

FIG. 3 is a high-level diagram illustrating a service providerprogramming engine, and respective inputs, in accordance with anembodiment of the present invention.

FIG. 4 is an example of a directed weighted content graph in accordancewith an embodiment of the present invention.

FIG. 5 is a flowchart outlining one embodiment of the present invention.

FIG. 6 is a schematic drawing of a computer system used to implement themethods presented.

DETAILED DESCRIPTION

The present invention generally relates to systems and methods forcurating and distributing digital content, such as: digital video,music, pictures, and equivalents thereof. For example, presented hereinare systems and methods for providing a digital content program (orplaylist), including a plurality of continuously provided digital assetsstreamed over a digital content platform. Example embodiments include:(a) curating a plurality of assets; (b) selecting a subset of assetsfrom the plurality of assets, based on similarity metrics betweenassets; and (c) ordering the subset of assets into a digital contentprogram.

In one embodiment, there is provided a system wherein assets areidentified and collected by one or more content providers, end-users,and/or service providers. The identified and collected assets are thenstored in a database, where additional information is collected andattributed to each individual asset. For example, such additionalinformation may include asset data such as: tags, metadata, end-userbehavior and considerations, taxonomy descriptors, keywords, labels,ratings, production data, production costs, distributionrestrictions/rights, promotional data, distribution data, monetizationdata, syndication data, closed captioning data, aggregate userinteractions, age of the asset, ratings by curators or third-partysources, asset viewing history, asset viewer count, asset flagging,asset share history, length, context/content within the asset, and anycombinations or equivalents thereof. Such asset data may be providedby: 1) curation programs established by a service provider; 2)importation from the asset provider; and/or 3) aggregate user behaviorand/or interaction with the asset. The database of assets may then beaccessed by an end-user via a programmable user-interface. However,prior to distribution to the end-user, the assets can be further curatedto establish a presentation order. For example, in one embodiment, oneor more assets can be processed through a similarity metrics engine,wherein one or more assets are tested against each other to identifysimilarities between the assets. As such, a “sub-group” or “subset” ofassets may be identified, selected, and/or organized for distribution.Further, multiple layers of curation and filtering may be applied torank, order, re-rank, and/or re-order the assets prior to distribution.

FIG. 2 is a high-level diagram illustrating a digital contentdistribution system 200, in accordance with one embodiment of thepresent invention. Similar to the system 100 described above withrespect to FIG. 1, system 200 includes a content provider 201, whomstores a plurality of digital content assets in an asset library 202. Anend-user 205 employs an end-user device 204 to access the assets via adistribution platform; such as a website, mobile application, TV widget,or equivalents thereof. The end-user 205 may use a search/index engine203 to query the asset library 202 for an asset of interest. Searchqueries are typically conducted based on tags, keywords, and/orassociated metadata linked to individual assets.

System 200 of FIG. 2, however, differs from system 100 of FIG. 1 in thata service provider 240, which may be an independent system component ora system component within and/or controlled by content provider 201,performs the function of curating and organizing assets within assetlibrary 202. The service provider 240 ultimately prepares an assetprogram to be provided (directly or indirectly) to the distributionplatform on the end-user device 204. More specifically, in oneembodiment, the service provider 240 includes a programming engine 250that curates, organizes, scores, ranks, orders, and/or re-orders assetsinto an asset program based on similarity metrics between assets and/orend-user behavior.

For example, in one embodiment, the service provider 240 can curate theassets within asset library 202 to create a directed weighted contentgraph based on a content taxonomy. The content graph is used to identifya hierarchy of similarities between assets. As such, relationshipsbetween assets can be established, which go beyond dependence on onlytags, keywords, and/or metadata. For example, assets can be analyzed toidentify asset data such as: tags, metadata, end-user behavior andconsiderations, taxonomy descriptors, keywords, labels, ratings,aggregate user interactions, age of the asset, ratings by curators orthird-party sources, asset viewing history, asset viewer count, assetflagging, asset share history, length, context/content within the asset,and any combinations or equivalents thereof. Such asset data may becollected from sources such as: 1) curation programs established by aservice provider; 2) importation from the asset provider; and/or 3)aggregate user behavior and/or interaction with the asset.

The service provider 240 may also have a direct (or indirect) link tothe end-user 205, in order to obtain and/or analyze the end-user'sbehavioral information and/or profile. For example, the service provider240 may obtain end-user behavior or intent information in the form of:system data, link access data, share data, search query, end-userratings of one or more assets, viewing history, end-user interactionwith an initially-viewed asset, end-user interaction (e.g.,likes/dislikes, saves, volume played, adding to playlist, percentage ofvideo watched, sharing with friends, additional requests for similarcontent, etc.) with one or more assets in the content graph, and anycombination or equivalents thereof.

FIG. 3 is a high-level diagram illustrating an example service providerprogramming engine 250, and respective inputs, in accordance with anembodiment of the present invention. More specifically, FIG. 3illustrates the curation and organization process, for the preparationof an asset program. As shown, one or more assets can be pulled from acontent pool 300, which may include assets available in a contentprovider asset library, or otherwise available on one or more networks,such as the Internet. Content pool 300 may include licensed orunlicensed assets. From content pool 300, user identified content 302and/or service provider identified content 304 is submitted to arecommendable asset database 306, where the assets may be stored. In oneembodiment, storing assets in database 306 may include saving actualdigital content files on a server. In another embodiment, however,storing assets in database 306 may more generally refer to storingand/or maintaining a database of pointers, placeholders, URLs, orequivalent means for redirecting an end-user to and/or accessing digitalcontent on a remote system.

Within database 306, the assets are organized and categorized. Forexample, one or more taxonomy structures may be applied to the assets.Further, external data 308 and/or user behavior 310 may be applied to,and associated with, each individual asset in the database 306. Withindatabase 306, tags, labels, keywords, and/or ratings may also be appliedto each individual asset. Tags and keywords may be applied to aid infuture search queries or classifications against database 306. Labelsmay be applied in a tiered structure to further organize the assets. Forexample, a first tier label may be used to designate high-levelclassification in subject matter and genre. A second tier label may beused to assign secondary and additional descriptive information to anasset. Ultimately, within database 306, the assets are organized andprepared for delivery to an end-user via distribution module 322.

In the embodiment shown, the assets may be further curated prior topresentation to an end-user. For example, the assets may be organizedand ordered to meet an end-user's entertainment needs. The organizationand order of the asset distribution may be provided by processing theassets through one or more curation engines. For example, in oneembodiment, assets are processed through a similarity metrics engine 312and/or re-ranking engine 320 prior to distribution 322.

In similarity metrics engine 312, various processing modules andfunctions may be applied to a group of assets. For example, a group ofassets may be ordered by inputs from a content graph 313, acollaborative filtering module 314, a term frequency-inverse documentfrequency (TF-IDF) module 316, a trending analysis module 318, and/orany combination thereof. Each processing module or function may beapplied to the group of assets to rank and/or order the assets prior todistribution. For example, content graph 313 may assign a similaritymetric based on the position of the asset on the one or more taxonomystructures applied to the asset(s) in database 306. In one embodiment,content graph 313 is a directed weighted graph, wherein asset similarityis measured based on distance within the graph. In one embodiment,assets can be selected for further analysis and/or ordering based on theminimum graph distance between two or more assets. Collaborativefiltering 314 may assign a similarity metric based on input from one ormore end-users. TF-IDF 316 may assign a similarity metric based on thecontent, context, tags, keywords, or other factors associated with theasset(s) on the distribution platform. Trending analysis 318 may assigna similarity metric based on user feedback, user behavior 310, or othermetrics, such as asset viewing history. As such, similarity metricsengine 312 is used to draw a group of content/context-relevant assetsfrom database 306.

After the assets have been selected, ranked, and/or ordered insimilarity metrics engine 312, the ranked and/or ordered assets may besubmitted to a re-ranking engine 320. In one embodiment, the re-rankingengine 320 may include inputs from human-curation and/or machine-learnedcuration. The re-ranking engine 320 may also perform quality checks andre-rank and/or re-order the assets depending, at least in part, on thequality of the asset. In one embodiment, the re-ranking engine 320modifies the subset of assets selected by similarity metric engine 312,based on asset data, user profile information, and/or additionalconstraints (e.g., system data, computational capabilities, bit ratedelivery, etc.). In another embodiment, the re-ranking engine 320conducts a diversity test amongst the subset of selected assets. Thediversity test (or score) may then be used to organize the subset ofassets in a more user-engaging manner. As such, the asset program mayfactor in “dissimilarity” amongst otherwise similar assets.

In the embodiment shown, assets from the original content pool 300 arebeing processed through multiple filters to thereby deliver a program(or playlist) of the highest quality and most relevant assets to anend-user, via distribution module 322. The multiple filters include, forexample user and/or service provider identification; user behavior;similarity metrics; and/or re-ranking filters. Distribution module 322may include distribution channels (e.g. a group-specific channel),creative programming channels, asset libraries, content sharingplatform(s), and equivalents thereof.

In one embodiment, distribution module 322 receives input or feedbackfrom an end-user. The input/feedback may be submitted to the curationand distribution system via user behavior input 310, collaborativefiltering 314, and/or trending analysis 318.

FIG. 4 is an example of a directed weighted content graph, illustratingan example content taxonomy, in accordance with an embodiment of thepresent invention. The directed weighted content graph uses a hierarchyof tags as “nodes,” to which distances may be applied. Assets can becurated within the shown structure, such that similarities betweenassets can be defined and used in an automated fashion. The directedweighted content graph is used as a tool for identify and selectingassets based on an established relationship between assets. The directedweighted content graph also provides an objective tool toalgorithmically identify and select similar assets in an automated andscalable matter. By linking the assets through a directed weightedcontent graph, the service provider's computer system can identify andselect “similar” assets, which may have a high likelihood of engagingand entertaining the end-user, but may not necessarily include the samemetadata (or meta-tags) associated with a previously-viewed asset. Amore detailed explanation of directed weighted graphs (also known assimply “weighted digraphs”) can be found in Rade et al., “Mathematicshandbook for science and engineering,” Springer Science & Business,2004, which is incorporated herein by reference, particularly withreference to page 36.

FIG. 5 is a flowchart describing one embodiment of the presentinvention. More specifically, FIG. 5 shows a method 500 for preparing anasset program (or playlist), in accordance with one embodimentpresented. In step 501, user behavior is collected. User behavior mayinclude a request for content from an end-user device. In step 502, aninitial asset of interest is identified. The initial asset of interestmay be an asset that has been clicked on or otherwise viewed by theuser. In step 503, a similarity measure is conducted based on theinitial asset of interest. For example, inputs from one or more of acontent graph, collaborative filtering, TF-IDF, and/or trending analysiscan be used to compare the initial asset of interest with one or moreassets in an asset pool (or library). In step 504, a subset ofrecommendable assets are selected based on similarity metrics betweenassets. In step 505, the subset of assets are ranked based on the user'sprofile and/or individual or aggregate asset data. In step 506, theranked assets are ordered into an asset program (or playlist). In oneembodiment, the diversity amongst the ranked assets is used as a factorfor ordering the asset program. In step 507, the asset program isdelivered to the end-user.

Additional Embodiments

In one embodiment, there is provided a method of providing a digitalvideo content program, including a plurality of continuously playedvideo assets streamed over a digital content platform, the methodcomprising: (a) curating a plurality of video assets into a directedweighted content graph based on a content taxonomy; (b) providing anapplication programming interface (API) configured to receive aprogramming request and an initially-viewed video asset, wherein theinitially-viewed video asset is amongst the plurality of video assetscurated into the content graph; a service provider computer system then(c) selecting a subset of video assets from the plurality of videoassets, based on a similarity measurement between the initially-viewedvideo asset and one or more of the plurality of video assets, whereinthe subset of video assets include two or more video assets; (d)ordering the subset of video assets into a digital video contentprogram; and (e) sending the digital video content program to anend-user device via the API. The similarity measurement may include acalculation of minimum graph distance between the initially-viewed videoasset and one or more video assets in the content graph. The similaritymeasurement may include data obtained from the group consisting of: aterm frequency-inverse document frequency (TF-IDF) analysis, acollaborative filtering analysis, and a trending analysis. The API maybe further configured to receive end-user data. The end-user data may beselected from the group consisting of: a user search query, a userrating of the initial asset, system data, viewing history, userinteraction with initial asset, user interaction with one or more assetsin the content graph, and any combination thereof. The ordering step maybe based in part on the end-user data. The method may further comprise:the service provider computer system (f) re-ordering the digital videocontent program based on asset data, user profile information, and/oradditional constraints (e.g., system data, computational capabilities,bit rate delivery, etc.); and (g) sending the re-ordered digital videocontent program to the end-user device via the API. The API may befurther configured to receive aggregate user data for one or more assetsin the content graph. The ordering step may be based in part on theaggregate user data. The method may further comprise: the serviceprovider computer system (h) calculating diversity between video assetsin the subset of video assets; and/or (g) ordering or re-ordering thedigital video content program based on diversity between video assets.

In another embodiment, there is provided a method of providing digitalvideo content, the method comprising: (a) storing a content graph,wherein a pool of video assets are cataloged within the content graphbased on a content taxonomy; (b) receiving a request for content from anend-user device; (c) obtaining end-user behavioral information on apreviously viewed video asset, wherein the previously viewed video assetis amongst the cataloged video assets in the content graph; (d)identifying and/or selecting a subsequent video asset from the pool, tobe provided to the end-user's device for viewing, based in part on (1)the end-user behavioral information, and (2) a calculation of a graphdistance, on the content graph, between the previously viewed videoasset and one or more video assets in the pool; and (e) delivering thesubsequent video asset to the end-user's device. The method may furthercomprise (f) obtaining end-user system data. The identification of thesubsequent video asset may be further based in part on a ranking of oneor more video assets in the pool. The ranking may be based in part onfactors selected from the group consisting of: similarity metrics;end-user behavioral information; collaborative filtering; TF-IDF; andtrending analysis. The ranking factors may be individually weighted. Theidentification of the subsequent video asset may be further based inpart on a re-ranking of a subset of the ranked video assets in the pool.The re-ranking of the subset is based on weighted asset-specificattributes of the subset of video assets. The re-ranking of the subsetmay be based on diversity amongst assets in the subset.

In another embodiment, there is provided a system for providing adigital video content program, including a plurality of continuouslyplayed video assets streamed over a digital content platform,comprising: (a) means for receiving a programming request and aninitially-viewed video asset, wherein the initially-viewed video assetis amongst a plurality of video assets curated into a directed weightedcontent graph; (b) means for calculating a similarity measurementbetween the initially-viewed video asset and one or more of theplurality of video assets; (c) means for selecting a subset of videoassets from the plurality of video assets, based on the similaritymeasurement, wherein the subset of video assets include two or morevideo assets; (d) means for ordering the subset of video assets into adigital video content program; and (e) means for sending the digitalvideo content program to an end-user device. The system may furthercomprise (f) means for re-ordering the digital video content programbased on end-user data; (g) means for sending the re-ordered digitalvideo content program to the end-user device; (h) means for identifyingdiversity amongst video assets in the subset of video assets; and/or (i)means for ordering the subset of video assets based on diversity. Thesimilarity measurement may include a calculation of minimum graphdistance between the initially-viewed video asset and one or more videoassets in the content graph. The similarity measurement may include dataobtained from the group consisting of: a term frequency-inverse documentfrequency (TF-IDF) analysis, a collaborative filtering analysis, and atrending analysis. The subset of video assets may be ordered based onend-user data, and the end-user data is selected from the groupconsisting of: a user search query, a user rating of the initial asset,system data, viewing history, user interaction with initial asset, userinteraction with one or more assets in the content graph, and anycombination thereof. The subset of video assets may additionally beordered based aggregate user data for one or more assets in the contentgraph.

In another embodiment, there is provided systems and methods forproviding digital content asset programs, in the form of a dynamicallycreated sequence of assets, comprising: (a) receiving a programmingrequest (with or without an initial asset), wherein a first asset (e.g.,the initial asset) is selected/identified amongst a plurality of curatedassets (e.g., curated into a directed weighted content graph); (b)calculating a similarity measurement between the first asset and one ormore of the plurality of curated assets based on asset data (e.g., assetdata collected from the curation process, asset creator, and/oraggregate user interaction with the asset); (c) selecting a subset ofassets from the plurality of curated assets, based on the similaritymeasurement; (d) ordering the subset of assets into an asset program (orplaylist); and (e) sending the digital asset program to an end-userdevice. The systems and methods may further comprise (f) re-ordering theasset program (before or after distribution) based on asset data,end-user data, and/or computational capabilities; and (g) sending there-ordered asset program to the end-user device. The systems and methodsmay further comprise: (h) identifying diversity amongst assets in thesubset of assets; and/or (i) ordering the subset of assets based ondiversity. The systems and methods may further comprise: (j) obtainingend-user interaction data after delivery of the asset program; and (k)reiterating on or more of steps (a)-(j), in real-time, to continuouslyand dynamically deliver asset programs (or sequences of assets) to theend-user.

Communication Between Parties Practicing the Present Invention.

In one embodiment, communication between the various parties andcomponents of the present invention is accomplished over a networkconsisting of electronic devices connected either physically orwirelessly, wherein digital information is transmitted from one deviceto another. Such devices (e.g., end-user devices and/or servers) mayinclude, but are not limited to: a desktop computer, a laptop computer,a handheld device or PDA, a cellular telephone, a set top box, anInternet appliance, an Internet TV system, a mobile device or tablet, orsystems equivalent thereto. Exemplary networks include a Local AreaNetwork, a Wide Area Network, an organizational intranet, the Internet,or networks equivalent thereto. The functionality and system componentsof an exemplary computer and network are further explained inconjunction with FIG. 6, below.

Computer Implementation.

In one embodiment, the invention is directed toward one or more computersystems capable of carrying out the functionality described herein. Forexample, FIG. 6 is a schematic drawing of a computer system 600 used toimplement the methods presented above. Computer system 600 includes oneor more processors, such as processor 604. The processor 604 isconnected to a communication infrastructure 606 (e.g., a communicationsbus, cross-over bar, or network). Computer system 600 can include adisplay interface 602 that forwards graphics, text, and other data fromthe communication infrastructure 606 (or from a frame buffer not shown)for display on a local or remote display unit 630.

Computer system 600 also includes a main memory 608, such as randomaccess memory (RAM), and may also include a secondary memory 610. Thesecondary memory 610 may include, for example, a hard disk drive 612and/or a removable storage drive 614, representing a floppy disk drive,a magnetic tape drive, an optical disk drive, flash memory device, etc.The removable storage drive 614 reads from and/or writes to a removablestorage unit 618. Removable storage unit 618 represents a floppy disk,magnetic tape, optical disk, flash memory device, etc., which is read byand written to by removable storage drive 614. As will be appreciated,the removable storage unit 618 includes a computer usable storage mediumhaving stored therein computer software, instructions, and/or data.

In alternative embodiments, secondary memory 610 may include othersimilar devices for allowing computer programs or other instructions tobe loaded into computer system 600. Such devices may include, forexample, a removable storage unit 622 and an interface 620. Examples ofsuch may include a program cartridge and cartridge interface (such asthat found in video game devices), a removable memory chip (such as anerasable programmable read only memory (EPROM), or programmable readonly memory (PROM)) and associated socket, and other removable storageunits 622 and interfaces 620, which allow computer software,instructions, and/or data to be transferred from the removable storageunit 622 to computer system 600.

Computer system 600 may also include a communications interface 624.Communications interface 624 allows computer software, instructions,and/or data to be transferred between computer system 600 and externaldevices. Examples of communications interface 624 may include a modem, anetwork interface (such as an Ethernet card), a communications port, aPersonal Computer Memory Card International Association (PCMCIA) slotand card, etc. Software and data transferred via communicationsinterface 624 are in the form of signals 628 which may be electronic,electromagnetic, optical or other signals capable of being received bycommunications interface 624. These signals 628 are provided tocommunications interface 624 via a communications path (e.g., channel)626. This channel 626 carries signals 628 and may be implemented usingwire or cable, fiber optics, a telephone line, a cellular link, a radiofrequency (RF) link, a wireless communication link, and othercommunications channels.

In this document, the terms “computer-readable storage medium,”“computer program medium,” and “computer usable medium” are used togenerally refer to media such as removable storage drive 614, removablestorage units 618, 622, data transmitted via communications interface624, and/or a hard disk installed in hard disk drive 612. These computerprogram products provide computer software, instructions, and/or data tocomputer system 600. These computer program products also serve totransform a general purpose computer into a special purpose computerprogrammed to perform particular functions, pursuant to instructionsfrom the computer program products/software. Embodiments of the presentinvention are directed to such computer program products.

Computer programs (also referred to as computer control logic) arestored in main memory 608 and/or secondary memory 610. Computer programsmay also be received via communications interface 624. Such computerprograms, when executed, enable the computer system 600 to perform thefeatures of the present invention, as discussed herein. In particular,the computer programs, when executed, enable the processor 604 toperform the features of the presented methods. Accordingly, suchcomputer programs represent controllers of the computer system 600.Where appropriate, the processor 604, associated components, andequivalent systems and sub-systems thus serve as “means for” performingselected operations and functions. Such “means for” performing selectedoperations and functions also serve to transform a general purposecomputer into a special purpose computer programmed to perform saidselected operations and functions.

In an embodiment where the invention is implemented using software, thesoftware may be stored in a computer program product and loaded intocomputer system 600 using removable storage drive 614, interface 620,hard drive 612, communications interface 624, or equivalents thereof.The control logic (software), when executed by the processor 604, causesthe processor 604 to perform the functions and methods described herein.

In another embodiment, the methods are implemented primarily in hardwareusing, for example, hardware components such as application specificintegrated circuits (ASICs). Implementation of the hardware statemachine so as to perform the functions and methods described herein willbe apparent to persons skilled in the relevant art(s). In yet anotherembodiment, the methods are implemented using a combination of bothhardware and software.

Embodiments of the invention, including any systems and methodsdescribed herein, may also be implemented as instructions stored on amachine-readable medium, which may be read and executed by one or moreprocessors. A machine-readable medium may include any mechanism forstoring or transmitting information in a form readable by a machine(e.g., a computing device). For example, a machine-readable medium mayinclude read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; flash memory devices;electrical, optical, acoustical or other forms of propagated signals(e.g., carrier waves, infrared signals, digital signals, etc.), andothers. Further, firmware, software, routines, instructions may bedescribed herein as performing certain actions. However, it should beappreciated that such descriptions are merely for convenience and thatsuch actions in fact result from computing devices, processors,controllers, or other devices executing firmware, software, routines,instructions, etc.

For example, in one embodiment, there is provided a computer-readablestorage medium, for providing a digital video content program, includinga plurality of continuously played video assets streamed over a digitalcontent platform, comprising: a directed weighted content graph having aplurality of video assets curated based on a content taxonomy; andinstructions executable by at least one processing device that, whenexecuted, cause the processing device to (a) receive a programmingrequest and an initially-viewed video asset, wherein theinitially-viewed video asset is amongst the plurality of video assetscurated into the content graph, (b) calculate a similarity measurementbetween the initially-viewed video asset and one or more of theplurality of video assets, (c) select a subset of video assets from theplurality of video assets, based on the similarity measurement, whereinthe subset of video assets include two or more video assets, (d) orderthe subset of video assets into a digital video content program, and (e)send the digital video content program to an end-user device. Thesimilarity measurement may include a calculation of minimum graphdistance between the initially-viewed video asset and one or more videoassets in the content graph. The similarity measurement may include dataobtained from the group consisting of: a term frequency-inverse documentfrequency (TF-IDF) analysis, a collaborative filtering analysis, and atrending analysis. The subset of video assets may be ordered based onend-user data. The end-user data may be selected from the groupconsisting of: a user search query, a user rating of the initial asset,system data, viewing history, user interaction with initial asset, userinteraction with one or more assets in the content graph, and anycombination thereof. The subset of video assets may alternatively beordered based aggregate user data for one or more assets in the contentgraph. The computer-readable storage medium may further compriseinstructions executable by at least one processing device that, whenexecuted, cause the processing device to (f) re-order the digital videocontent program based on end-user data, and (g) send the re-ordereddigital video content program to the end-user device.

CONCLUSION

The foregoing description of the invention has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise form disclosed.Other modifications and variations may be possible in light of the aboveteachings. The embodiments were chosen and described in order to bestexplain the principles of the invention and its practical application,and to thereby enable others skilled in the art to best utilize theinvention in various embodiments and various modifications as are suitedto the particular use contemplated. It is intended that the appendedclaims be construed to include other alternative embodiments of theinvention; including equivalent structures, components, methods, andmeans.

As will be apparent to those of skill in the art upon reading thisdisclosure, each of the individual embodiments described and illustratedherein has discrete components and features which may be readilyseparated from or combined with the features of any of the other severalembodiments without departing from the scope or spirit of the presentinvention. Any recited method can be carried out in the order of eventsrecited or in any other order which is logically possible. Further, eachsystem component and/or method step presented should be considered a“means for” or “step for” performing the function described for saidsystem component and/or method step. As such, any claim languagedirected to a “means for” or “step for” performing a recited functionrefers to the system component and/or method step in the specificationthat performs the recited function, as well as equivalents thereof.

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections, is intended to be used to interpretthe claims. The Summary and Abstract sections may set forth one or more,but not all exemplary embodiments of the present invention ascontemplated by the inventor(s), and thus, are not intended to limit thepresent invention and the appended claims in any way.

What is claimed is:
 1. A method, comprising: calculating similaritymetrics of digital content assets between other digital content assetsin a plurality of cataloged digital content assets, each digital contentasset is viewable by users, wherein a similarity is assigned to eachasset in the plurality of cataloged digital content assets based on aposition of the asset in one or more taxonomy structures applied to theplurality of cataloged digital content assets; based on receiving anindication that a user has selected a digital content asset for viewingfrom among the plurality of cataloged digital content assets,dynamically creating a set of digital content assets to be delivered toa user device from the plurality of cataloged digital content assetsbased on similarity metrics with the user-selected digital contentasset; ordering the set of digital content assets based on diversitycalculations between digital content assets in the set of digitalcontent assets; sending the set of digital content assets to the userdevice.
 2. The method of claim 1, wherein the similarity metrics includea calculation of a minimum content graph distance between theuser-selected digital content asset and one or more cataloged digitalcontent assets among the plurality of cataloged digital content assets.3. The method of claim 1, wherein the ordering of the set of digitalcontent assets is further based in part on a current user's interactionwith the user-selected digital content asset.
 4. The method of claim 1,wherein the ordering of the set of digital content assets is furtherbased in part on a current user's interaction with one or more digitalcontent assets among the plurality of cataloged digital content assets.5. The method of claim 1, wherein the ordering of the set of digitalcontent assets is further based in part on aggregate user data.
 6. Themethod of claim 1, wherein the ordering of the set of digital contentassets is further based in part on machine-learned curation inputs. 7.The method of claim 1, wherein the ordering of the set of digitalcontent assets is further based in part on a quality of each digitalcontent asset in the set of digital content assets.
 8. The method ofclaim 1, wherein the ordering of the set of digital content assets isfurther based in part on one or more of: asset data, end-user data, orcomputational capabilities of the user device.
 9. The method of claim 1,wherein the sending the set of digital content assets to the user deviceis comprised of: creating a playlist comprised of a uniform resourcelocator (URL) for each digital content asset in the set of digitalcontent assets; sending the playlist to the user device.
 10. The methodof claim 1, wherein the sending the set of digital content assets to theuser device is comprised of: streaming the set of digital content assetsto the user device.
 11. One or more non-transitory computer-readablestorage media, storing one or more sequences of instructions, which whenexecuted by one or more processors cause performance of: calculatingsimilarity metrics of digital content assets between other digitalcontent assets in a plurality of cataloged digital content assets, eachdigital content asset is viewable by users, wherein a similarity isassigned to each asset in the plurality of cataloged digital contentassets based on a position of the asset in one or more taxonomystructures applied to the plurality of cataloged digital content assets;based on receiving an indication that a user has selected a digitalcontent asset for viewing from among the plurality of cataloged digitalcontent assets, dynamically creating a set of digital content assets tobe delivered to a user device from the plurality of cataloged digitalcontent assets based on similarity metrics with the user-selecteddigital content asset; ordering the set of digital content assets basedon diversity calculations between digital content assets in the set ofdigital content assets; sending the set of digital content assets to theuser device.
 12. The one or more non-transitory computer-readablestorage media of claim 11, wherein the ordering of the set of digitalcontent assets is further based in part on a current user's interactionwith one or more digital content assets among the plurality of catalogeddigital content assets.
 13. The one or more non-transitorycomputer-readable storage media of claim 11, wherein the ordering of theset of digital content assets is further based in part on aggregate userdata.
 14. The one or more non-transitory computer-readable storage mediaof claim 11, wherein the ordering of the set of digital content assetsis further based in part on machine-learned curation inputs.
 15. The oneor more non-transitory computer-readable storage media of claim 11,wherein the ordering of the set of digital content assets is furtherbased in part on a quality of each digital content asset in the set ofdigital content assets.
 16. The one or more non-transitorycomputer-readable storage media of claim 11, wherein the ordering of theset of digital content assets is further based in part on one or moreof: asset data, end-user data, or computational capabilities of the userdevice.
 17. The one or more non-transitory computer-readable storagemedia of claim 11, wherein the similarity metrics include a calculationof a minimum content graph distance between the user-selected digitalcontent asset and one or more cataloged digital content assets among theplurality of cataloged digital content assets.
 18. The one or morenon-transitory computer-readable storage media of claim 11, wherein theordering of the set of digital content assets is further based in parton a current user's interaction with the user-selected digital contentasset.
 19. The one or more non-transitory computer-readable storagemedia of claim 11, wherein the sending the set of digital content assetsto the user device is comprised of: creating a playlist comprised of auniform resource locator (URL) for each digital content asset in the setof digital content assets; sending the playlist to the user device. 20.The one or more non-transitory computer-readable storage media of claim11, wherein the sending the set of digital content assets to the userdevice is comprised of: streaming the set of digital content assets tothe user device.